package rodrigosetti.colorstrike.fase;

import java.io.IOException;

import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;

import rodrigosetti.colorstrike.core.Constantes;

public class Bloco extends Elemento {

	public static final int COMUM = 0;
	public static final int PERMISSIVO = 1;
	public static final int OFENSIVO = 2;

	public int tipo;
	public int identidade;
	
	private static Image imagem;
	private static boolean dark;
	
	public Bloco(Fase fase, int posx, int posy)
	{
		this(fase, posx, posy, COMUM, Constantes.RED);
	}
	
	
	/**
	 * Constructor
	 */
	public Bloco(Fase fase, int posx, int posy, int tipo, int id) {
		super(fase);
		
		this.tipo = tipo;
		this.identidade = id;
		
		if (imagem == null) {
			/* Carrega imagem para o bloco */
			try {
				imagem = Image.createImage("/blocos.png");
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		sprite = new Sprite(imagem, Constantes.BLOCO_X, Constantes.BLOCO_Y);
		sprite.defineCollisionRectangle(0, 0, Constantes.BLOCO_X, Constantes.BLOCO_Y);
		sprite.setFrame((tipo == COMUM)? 
				((dark)? Constantes.BLOCO_DEFAULT_1 : Constantes.BLOCO_DEFAULT_2) : ((tipo == OFENSIVO)? 
						Constantes.BLOCO_OFENSIVO[identidade] : Constantes.BLOCO_PERMISSIVO[identidade]));
		sprite.setPosition(posx, posy);
		
		dark = !dark;
	}

}
